Skip to content

Add a direct IO option to rescore_vector for bbq_hnsw #130893

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 9 commits into
base: lucene_snapshot
Choose a base branch
from

Conversation

thecoop
Copy link
Member

@thecoop thecoop commented Jul 9, 2025

Change the JVM option to an index option

@thecoop thecoop force-pushed the direct-io-index-option branch from 7fec052 to 73e3cc0 Compare July 9, 2025 14:23
@thecoop
Copy link
Member Author

thecoop commented Jul 14, 2025

I've added it as a separate option - but the name needs some work. use_direct_io is an implementation-specific term that users wont understand without context. It's used in low-memory scenarios, so maybe something like low_memory_io? low_memory_mode?

I went with disable_offheap_cache_rescoring

@thecoop thecoop requested a review from benwtrent July 14, 2025 13:28
Copy link
Member

@benwtrent benwtrent left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As we talked about before, I think this is likely the best way.

I don't know the best name for the parameter, but I agree it should be field mapper setting that is statically set on field creation.

Our format composability will allow us to have a

DirectIOES818HnswBinaryQuantizedVectorsFormat and DirectIOES818BinaryQuantizedVectorsFormat

Really, the only difference will be a single parameter passed to the inner formats & the name. So, we can likely refactor slightly and greatly reduce the code churn required to make happen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants